1:在AndroidStudio中创建HelloWorld程序
第一次使用Android Studio,也是第一次接触JAVA语言,虽然这个程序挺简单,基本就是AS自带的程序,但是我通过这个了解了不少编程的语法,知道了如何更改字体,如何布局。由于模拟器没有配置好,所以这次是在我的小米真机上运行的,一开始我建立的是7.0版的项目,运行的时候才发现我的小米是6.0的版本,并不适配,只好重新再创立新的6.0的项目,才得以运行成功。
2:学会使用Logcat调试程序
首次编程的时候,就仅是简简单单的复制粘贴,但却报了错。看了多遍,才发现是函数重名了,可见我对此环境的不了解,另外我对提示的运用还不够灵活,需多加练习。当运行成功后,看到与教程相同的显示时,这才松了一口气。
3:学会使用常用组件
这次实验是对常用组件的一个简单的综合应用,同时也是对监听器运用的一个训练。实验过程中,我遇到了如下问题:
1.布局不够严谨,有重叠现象
2.选项选择取消后,修改后的TextView并不会恢复初始状态
3.监听器运用不够熟练
解决方法:
1.先构思好想要呈现出的效果究竟是怎么样的,然后再查询具体的语句一步步实现
2.在监听器中,设置一条语句,一旦取消选项就重新输出显示初始语句
3.这个只有多加练习才能提高
4:学会使用ListView
这个ListView数据我是用数组定义的,因为简单方便。至于item的信息,我选了用户名字、班级、学号、性别、手机号,共5个信息,分为3行,重点突出姓名,以达到一目了然的效果。
但在实验中,我遇到了一个棘手的问题,我的标题栏对第一组数据进行了一定程度的遮挡,我试了许多次修改调试依旧没能解决这个问题,所以我就在第一组数据输入时多加了一个强制换行,达到了预期的效果,至于如何用布局语句调整,我还在研究。
另外我明白了之前为什么我的程序总报错的原因之一就是没有引入包,以后可别这样粗心大意了。
5:菜单
菜单是应用程序中非常重要的组成部分,它能够在不占用界面空间的前提下,为应用程序提供统一的功能和设置界面,并为程序开发人员提供了易于使用的编程接口,所以掌握好菜单是很重要的。菜单共有三种:选项菜单、上下文菜单、弹出菜单。
在编选项菜单的时候,我运行后点开按钮发现Another的字并没有显示,经过检查发现原来是因为我没有在string里定义,定义好之后运行正常。
编上下文菜单时没有太大阻碍,顺便练习了定义xml文件定义菜单项,很方便。
弹出菜单略微复杂,但根据参考还是比较容易的。此外,编写过程中我发现android:onClick="showPopup"这句话我放错位置了,导致没有出现弹出,重新定义了一个TextView添加进去就OK了。
最后呢,有一点小优化就是调大了字体,这样方便用户点击,不容易误点。
6:对话框
这次的任务是提示对话框还有登录对话框。前者一如既往比较容易,后者我一开始以为会和前者一样好写。但当我看到“登录对话框要求用户输入UserId和Password,如果UserId和Password不是“abc”、“123”,则使用Toast提示错误,否则提示成功”时,我发现这并不像我所以为的那样简单。因为我并不会提取EditText的文本内容
首先我有逻辑顺序错误,所以不论我输入什么都会显示失败,另外它不能直接被提取出来,需要再设一个变量,将EditText赋给它,然后再用getText()提取。另外,在判断字符是否相等时应用”.equals”,直接用”==”似乎有问题。
7:掌握Fragment,练习左右分栏
这个实验是我目前为止耗时最长的编程了,经常是刚解决了一个问题,另一个问题就蹦出来了,可见我的Java编程还不够扎实,需要勤加练习。
所遇问题:
1.监听器不能正常运作
2.改名不够彻底
3.变量申明不正确,导致不能取数
4.即使编译通过,但程序不能正常运行
解决方案:
1.尝试另一种定义方式,取合理的变量
2.Dummy改名不够彻底,编译时报错,只能手动修改
3.局部变量和全局变量的差别
4.Import时错选了7.0版本,重新import了另外一版
8:使用Intent拨打电话&16:进一步熟悉IntentFilter
data和type属性也可以用来隐式启动组件。如果同时指定了Action、Data属性,那么Android系统根据组合情况启动特定组件。用Intent拨打电话呢,用的就是“Intent.ACTION\_CALL”的action;而打开浏览器程序并显示指定的URL,用的是“Intent.ACTION\_VIEW”。不同的Data和Action组合,有着不一样的功能,用户可根据自己的需求来设定。
在实验中,主界面我一直没问题,但当我启动按钮时,运行就出问题了。百思不得其解,后来才发现是我AndroidManifest.xml里出了问题,没有设置好data,导致运行不下去,下次应注意。
![
9:SharedPreferences
SharedPreferences适合保存配置参数等类型的数据,数据一般都是键-值对形式。SharedPreferences本身是一个接口,提供了访问键-值对形式数据的方法。这个实验较为容易,但我又遇到了由于包的版本不同,不能正常编译的情况,然后我就适当地修改引用其他类似的方法得到所要效果。
条条大路通罗马,无需在一棵树上吊死,尝试一下其他途径,说不定会有意想不到的效果。
10:外部存储文件操作
刚做了内部存储文件的练习,现在自然而然是外部存储文件的操作练习。由于我一开始以为我的小米并没有SD卡,所以这次实验我打算用模拟器完成。用模拟器就涉及到对设备的配置,这当然不是越大越好,如此先不说会不会造成你电脑的卡机,光是运行这个程序你都会吃力;也不能太小,否则会造成存储不够用,模拟失败。
在编程时要声明用户对SD卡操作的权限,否则你做其他内容完成得再好也是白费力气。还有在读写外部存储卡前,需要判断SD卡是否存在,以免无效操作。